home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
sos3-2.lha
/
src
/
agg
/
agg_use.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-11-08
|
46KB
|
1,112 lines
#ifndef agg_SOSH
#define agg_SOSH 1
#include "knl_use.h"
typedef sos_Int Index;
#define make_Index_object make_sos_Int_object
#define make_Index make_sos_Int
class sos_Aggregate;
class sos_Object_Collection;
class sos_Object_sos_Object_Association;
class sos_Cursor;
class sos_Object_List;
class sos_Object_Array;
class sos_Object_sos_Object_Mapping;
class sos_Object_sos_Int_Association;
class sos_Object_sos_Int_Mapping;
class sos_Object_Bag;
class sos_Object_sos_Bool_Association;
class sos_Object_sos_Bool_Mapping;
class sos_Object_Set;
class sos_Node;
class sos_Array_node;
class sos_List_node;
class sos_Map_node;
class sos_Bag_node;
#include "agg_ext.h"
#define _Index_type sos_Id::make(sos_Container::make(15319856),1380)
#define Index_type sos_type_object(_Index_type,sos_Id::make(sos_Container::make(279048),504144))
class sos_Aggregate: public sos_Root_class
{ friend class _sos_Aggregate;
class _sos_Aggregate* _ref;
public:
operator sos_Object ();
static sos_Aggregate make(sos_Typed_id&);
static sos_Aggregate make(sos_Typed_id&p,_sos_Aggregate*r){
sos_Aggregate o; o._tpid = p; o._ref=r; return o;}
static sos_Aggregate make(sos_Root_class&);
sos_Offset _size();
static sos_Aggregate create(sos_Container);
static sos_Aggregate copy(sos_Aggregate,sos_Container);
static sos_Aggregate clone(sos_Aggregate,sos_Container);
void destroy();
sos_Int hash_value();
sos_Bool is_empty();
sos_Int card();
sos_Cursor open_cursor(sos_Container _p1 = TEMP_CONTAINER);
void close_cursor(sos_Cursor _p1);
sos_Cursor duplicate(sos_Cursor _p1);
sos_Bool is_valid(sos_Cursor _p1);
void remove_at(sos_Cursor _p1);
sos_Bool to_first(sos_Cursor _p1);
sos_Bool to_last(sos_Cursor _p1);
sos_Bool to_pred(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
protected:
static void local_assign(sos_Aggregate x,sos_Aggregate y);
static sos_Bool local_equal(sos_Aggregate x,sos_Aggregate y,sos_Eq_kind eq_kind = EQ_STRONG);
public:
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
void clear();
sos_Bool to_succ(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Type type();
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
protected:
static sos_Int local_hash_value(sos_Aggregate x);
};
#define _sos_Aggregate_type sos_Id::make(sos_Container::make(3690836),1448)
#define sos_Aggregate_type sos_type_object(_sos_Aggregate_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Object_Collection: public sos_Root_class
{ friend class _sos_Object_Collection;
class _sos_Object_Collection* _ref;
public:
operator sos_Object ();
operator sos_Aggregate ();
static sos_Object_Collection make(sos_Typed_id&);
static sos_Object_Collection make(sos_Typed_id&p,_sos_Object_Collection*r){
sos_Object_Collection o; o._tpid = p; o._ref=r; return o;}
static sos_Object_Collection make(sos_Root_class&);
sos_Offset _size();
static sos_Object_Collection create(sos_Container,sos_Bool based_on_equal = FALSE);
static sos_Object_Collection copy(sos_Object_Collection,sos_Container);
static sos_Object_Collection clone(sos_Object_Collection,sos_Container);
void destroy();
sos_Int hash_value();
sos_Bool is_element(sos_Object _p1);
sos_Object get(sos_Cursor _p1);
sos_Bool is_empty();
sos_Int card();
sos_Cursor open_cursor(sos_Container _p1 = TEMP_CONTAINER);
void close_cursor(sos_Cursor _p1);
sos_Cursor duplicate(sos_Cursor _p1);
sos_Bool is_valid(sos_Cursor _p1);
void remove_at(sos_Cursor _p1);
sos_Bool to_first(sos_Cursor _p1);
sos_Bool to_last(sos_Cursor _p1);
sos_Bool to_pred(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
protected:
static void local_assign(sos_Object_Collection x,sos_Object_Collection y);
static sos_Bool local_equal(sos_Object_Collection x,sos_Object_Collection y,sos_Eq_kind eq_kind = EQ_STRONG);
public:
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
protected:
sos_Bool get_based_on_equal();
void set_based_on_equal(sos_Bool _p1);
public:
void clear();
sos_Bool to_succ(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Type type();
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
protected:
static sos_Int local_hash_value(sos_Object_Collection x);
};
#define _sos_Object_Collection_type sos_Id::make(sos_Container::make(3690836),13688)
#define sos_Object_Collection_type sos_type_object(_sos_Object_Collection_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Object_sos_Object_Association: public sos_Root_class
{ friend class _sos_Object_sos_Object_Association;
class _sos_Object_sos_Object_Association* _ref;
public:
operator sos_Object ();
operator sos_Aggregate ();
static sos_Object_sos_Object_Association make(sos_Typed_id&);
static sos_Object_sos_Object_Association make(sos_Typed_id&p,_sos_Object_sos_Object_Association*r){
sos_Object_sos_Object_Association o; o._tpid = p; o._ref=r; return o;}
static sos_Object_sos_Object_Association make(sos_Root_class&);
sos_Offset _size();
static sos_Object_sos_Object_Association create(sos_Container,sos_Bool role1_based_on_equal = FALSE,sos_Bool role2_based_on_equal = FALSE);
static sos_Object_sos_Object_Association copy(sos_Object_sos_Object_Association,sos_Container);
static sos_Object_sos_Object_Association clone(sos_Object_sos_Object_Association,sos_Container);
void destroy();
sos_Int hash_value();
sos_Bool is_role2(sos_Object _p1);
sos_Object get_role1(sos_Cursor _p1);
sos_Object get_role2(sos_Cursor _p1);
sos_Bool is_empty();
sos_Int card();
sos_Cursor open_cursor(sos_Container _p1 = TEMP_CONTAINER);
void close_cursor(sos_Cursor _p1);
sos_Cursor duplicate(sos_Cursor _p1);
sos_Bool is_valid(sos_Cursor _p1);
void remove_at(sos_Cursor _p1);
sos_Bool to_first(sos_Cursor _p1);
sos_Bool to_last(sos_Cursor _p1);
sos_Bool to_pred(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
protected:
static void local_assign(sos_Object_sos_Object_Association x,sos_Object_sos_Object_Association y);
static sos_Bool local_equal(sos_Object_sos_Object_Association x,sos_Object_sos_Object_Association y,sos_Eq_kind eq_kind = EQ_STRONG);
public:
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Bool is_role1(sos_Object _p1);
protected:
sos_Bool get_role1_based_on_equal();
void set_role1_based_on_equal(sos_Bool _p1);
sos_Bool get_role2_based_on_equal();
void set_role2_based_on_equal(sos_Bool _p1);
public:
void clear();
sos_Bool to_succ(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Type type();
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
protected:
static sos_Int local_hash_value(sos_Object_sos_Object_Association x);
};
#define _sos_Object_sos_Object_Association_type sos_Id::make(sos_Container::make(3690836),23552)
#define sos_Object_sos_Object_Association_type sos_type_object(_sos_Object_sos_Object_Association_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Cursor: public sos_Root_class
{ friend class _sos_Cursor;
class _sos_Cursor* _ref;
public:
operator sos_Object ();
static sos_Cursor make(sos_Typed_id&);
static sos_Cursor make(sos_Typed_id&p,_sos_Cursor*r){
sos_Cursor o; o._tpid = p; o._ref=r; return o;}
static sos_Cursor make(sos_Root_class&);
sos_Offset _size();
static sos_Cursor create(sos_Container,sos_Aggregate domain);
static sos_Cursor copy(sos_Cursor,sos_Container);
static sos_Cursor clone(sos_Cursor,sos_Container);
void destroy();
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Int hash_value();
sos_Bool defined_for(sos_Aggregate _p1);
sos_Node get_current();
void set_current(sos_Node _p1);
private:
sos_Aggregate get_domain();
void set_domain(sos_Aggregate _p1);
protected:
static void local_initialize(sos_Cursor _p1);
public:
sos_Type type();
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
protected:
static void local_assign(sos_Cursor x,sos_Cursor y);
static sos_Bool local_equal(sos_Cursor x,sos_Cursor y,sos_Eq_kind eq_kind = EQ_STRONG);
static sos_Int local_hash_value(sos_Cursor x);
};
#define _sos_Cursor_type sos_Id::make(sos_Container::make(3690836),35032)
#define sos_Cursor_type sos_type_object(_sos_Cursor_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Object_List: public sos_Root_class
{ friend class _sos_Object_List;
class _sos_Object_List* _ref;
public:
operator sos_Object ();
operator sos_Aggregate ();
operator sos_Object_Collection ();
static sos_Object_List make(sos_Typed_id&);
static sos_Object_List make(sos_Typed_id&p,_sos_Object_List*r){
sos_Object_List o; o._tpid = p; o._ref=r; return o;}
static sos_Object_List make(sos_Root_class&);
sos_Offset _size();
static sos_Object_List create(sos_Container,sos_Bool based_on_equal = FALSE);
static sos_Object_List copy(sos_Object_List,sos_Container);
static sos_Object_List clone(sos_Object_List,sos_Container);
void destroy();
sos_Int hash_value();
void operator+=(sos_Object_List _p1);
void insert_after(sos_Cursor _p1,sos_Object _p2);
void set(sos_Cursor _p1,sos_Object _p2);
sos_Object get(sos_Cursor _p1);
void remove_at(sos_Cursor _p1);
sos_Int card();
sos_Cursor open_cursor(sos_Container _p1 = TEMP_CONTAINER);
void close_cursor(sos_Cursor _p1);
sos_Cursor duplicate(sos_Cursor _p1);
sos_Bool is_valid(sos_Cursor _p1);
sos_Bool to_first(sos_Cursor _p1);
sos_Bool to_last(sos_Cursor _p1);
sos_Bool to_pred(sos_Cursor _p1,sos_Int _p2 = 1);
private:
sos_List_node get_first();
void set_first(sos_List_node _p1);
protected:
static void local_assign(sos_Object_List _p1,sos_Object _p2);
static sos_Bool local_equal(sos_Object_List _p1,sos_Object _p2,sos_Eq_kind _p3);
public:
sos_Bool is_element(sos_Object _p1);
sos_Bool is_empty();
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
void append(sos_Object _p1);
void insert(Index _p1,sos_Object _p2);
Index current_pos(sos_Cursor _p1);
void insert_before(sos_Cursor _p1,sos_Object _p2);
protected:
static void local_finalize(sos_Object_List _p1);
sos_Bool get_based_on_equal();
void set_based_on_equal(sos_Bool _p1);
public:
void clear();
sos_Type type();
sos_Int size();
sos_Bool like(sos_Object _p1);
void remove(Index _p1);
sos_Object get_nth(Index _p1);
void set_nth(Index _p1,sos_Object _p2);
sos_Bool move_cursor(sos_Cursor _p1,Index _p2);
sos_Bool to_succ(sos_Cursor _p1,sos_Int _p2 = 1);
private:
sos_List_node get_last();
void set_last(sos_List_node _p1);
sos_Int get_cardinality();
void set_cardinality(sos_Int _p1);
protected:
static void local_initialize(sos_Object_List _p1);
static sos_Int local_hash_value(sos_Object_List _p1);
public:
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Bool identical(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
};
#define _sos_Object_List_type sos_Id::make(sos_Container::make(3690836),43532)
#define sos_Object_List_type sos_type_object(_sos_Object_List_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Object_Array: public sos_Root_class
{ friend class _sos_Object_Array;
class _sos_Object_Array* _ref;
public:
operator sos_Object ();
operator sos_Aggregate ();
operator sos_Object_Collection ();
static sos_Object_Array make(sos_Typed_id&);
static sos_Object_Array make(sos_Typed_id&p,_sos_Object_Array*r){
sos_Object_Array o; o._tpid = p; o._ref=r; return o;}
static sos_Object_Array make(sos_Root_class&);
sos_Offset _size();
static sos_Object_Array create(sos_Container,Index bottom,Index top,sos_Bool based_on_equal = FALSE);
static sos_Object_Array copy(sos_Object_Array,sos_Container);
static sos_Object_Array clone(sos_Object_Array,sos_Container);
void destroy();
sos_Int hash_value();
void shift(Index start,sos_Int number);
sos_Object operator[](Index _p1);
void set(sos_Cursor _p1,sos_Object _p2);
sos_Object get(sos_Cursor _p1);
void remove_at(sos_Cursor _p1);
sos_Int card();
sos_Cursor open_cursor(sos_Container _p1 = TEMP_CONTAINER);
void close_cursor(sos_Cursor _p1);
sos_Cursor duplicate(sos_Cursor _p1);
sos_Bool is_valid(sos_Cursor _p1);
sos_Bool to_first(sos_Cursor _p1);
sos_Bool to_last(sos_Cursor _p1);
sos_Bool to_pred(sos_Cursor _p1,sos_Int _p2 = 1);
private:
Index get_bottom_index();
void set_bottom_index(Index _p1);
protected:
static void local_assign(sos_Object_Array _p1,sos_Object _p2);
static sos_Bool local_equal(sos_Object_Array _p1,sos_Object _p2,sos_Eq_kind _p3);
public:
sos_Bool is_element(sos_Object _p1);
sos_Bool is_empty();
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
void rotate(sos_Int number);
Index current_pos(sos_Cursor _p1);
sos_Int size();
private:
Index get_top_index();
void set_top_index(Index _p1);
sos_Offset get_address();
void set_address(sos_Offset _p1);
protected:
static void local_finalize(sos_Object_Array _p1);
sos_Bool get_based_on_equal();
void set_based_on_equal(sos_Bool _p1);
public:
void clear();
sos_Type type();
sos_Bool like(sos_Object _p1);
Index get_bottom();
Index get_top();
sos_Object get_nth(Index _p1);
void set_nth(Index _p1,sos_Object _p2);
sos_Bool move_cursor(sos_Cursor _p1,Index _p2);
sos_Bool to_succ(sos_Cursor _p1,sos_Int _p2 = 1);
private:
sos_Int element_size();
protected:
static void local_initialize(sos_Object_Array _p1);
static sos_Int local_hash_value(sos_Object_Array _p1);
public:
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Bool identical(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
};
#define _sos_Object_Array_type sos_Id::make(sos_Container::make(3690836),63204)
#define sos_Object_Array_type sos_type_object(_sos_Object_Array_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Object_sos_Object_Mapping: public sos_Root_class
{ friend class _sos_Object_sos_Object_Mapping;
class _sos_Object_sos_Object_Mapping* _ref;
public:
operator sos_Object ();
operator sos_Aggregate ();
operator sos_Object_sos_Object_Association ();
static sos_Object_sos_Object_Mapping make(sos_Typed_id&);
static sos_Object_sos_Object_Mapping make(sos_Typed_id&p,_sos_Object_sos_Object_Mapping*r){
sos_Object_sos_Object_Mapping o; o._tpid = p; o._ref=r; return o;}
static sos_Object_sos_Object_Mapping make(sos_Root_class&);
sos_Offset _size();
static sos_Object_sos_Object_Mapping create(sos_Container,sos_Bool list_cursor = FALSE,sos_Bool key_based_on_equal = FALSE,sos_Bool info_based_on_equal = FALSE);
static sos_Object_sos_Object_Mapping copy(sos_Object_sos_Object_Mapping,sos_Container);
static sos_Object_sos_Object_Mapping clone(sos_Object_sos_Object_Mapping,sos_Container);
void destroy();
sos_Int hash_value();
sos_Object operator[](sos_Object _p1);
sos_Object get_info(sos_Cursor _p1);
void set_info(sos_Cursor _p1,sos_Object _p2);
sos_Bool is_role2(sos_Object _p1);
sos_Int card();
sos_Cursor open_cursor(sos_Container _p1 = TEMP_CONTAINER);
void close_cursor(sos_Cursor _p1);
sos_Cursor duplicate(sos_Cursor _p1);
sos_Bool to_last(sos_Cursor _p1);
sos_Bool to_pred(sos_Cursor _p1,sos_Int _p2 = 1);
private:
sos_Object remove_from_page_list(sos_Container _p1,sos_Bool _p2,sos_Bool _p3,sos_Offset _p4,sos_Int _p5,sos_Object _p6);
void split_page(sos_Container _p1,sos_Bool _p2,sos_Offset _p3,sos_Char _p4,sos_Int _p5,sos_Int _p6);
protected:
static void local_assign(sos_Object_sos_Object_Mapping _p1,sos_Object _p2);
static sos_Bool local_equal(sos_Object_sos_Object_Mapping _p1,sos_Object _p2,sos_Eq_kind _p3);
public:
sos_Bool is_empty();
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Bool is_info(sos_Object _p1);
void clear();
private:
void insert_in_page_list(sos_Container _p1,sos_Bool _p2,sos_Bool _p3,sos_Offset _p4,sos_Int _p5,sos_Object _p6,sos_Object _p7,sos_Object _p8,sos_Object _p9);
void write_succ_pred(sos_Container _p1,sos_Bool _p2,sos_Bool _p3,sos_Object _p4,sos_Bool _p5,sos_Object _p6);
sos_Object get_last_object();
void set_last_object(sos_Object _p1);
sos_Bool get_list_cursor();
void set_list_cursor(sos_Bool _p1);
sos_Int get_no_of_pages();
void set_no_of_pages(sos_Int _p1);
sos_Int get_global_depth();
void set_global_depth(sos_Int _p1);
protected:
static void local_finalize(sos_Object_sos_Object_Mapping _p1);
public:
void insert_after(sos_Cursor _p1,sos_Object _p2,sos_Object _p3);
sos_Object get_role1(sos_Cursor _p1);
sos_Object get_role2(sos_Cursor _p1);
void remove_at(sos_Cursor _p1);
sos_Bool is_valid(sos_Cursor _p1);
sos_Bool to_first(sos_Cursor _p1);
private:
void init_table();
sos_Object search_succ_pred(sos_Object _p1,sos_Int _p2);
sos_Object get_first_object();
void set_first_object(sos_Object _p1);
sos_Int get_no_of_page_lists();
void set_no_of_page_lists(sos_Int _p1);
public:
sos_Bool has_type(sos_Type _p1);
sos_Bool is_key(sos_Object _p1);
void remove(sos_Object _p1);
sos_Object get_key(sos_Cursor _p1);
void move_cursor(sos_Cursor _p1,sos_Object _p2);
sos_Bool is_role1(sos_Object _p1);
sos_Bool to_succ(sos_Cursor _p1,sos_Int _p2 = 1);
private:
sos_Bool assemble_page(sos_Offset _p1,sos_Char _p2,sos_Int _p3);
sos_Int get_cardinality();
void set_cardinality(sos_Int _p1);
sos_Int get_ht_entries();
void set_ht_entries(sos_Int _p1);
protected:
static void local_initialize(sos_Object_sos_Object_Mapping _p1);
static sos_Int local_hash_value(sos_Object_sos_Object_Mapping _p1);
public:
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Bool identical(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
void insert(sos_Object _p1,sos_Object _p2);
void insert_before(sos_Cursor _p1,sos_Object _p2,sos_Object _p3);
sos_Int size();
private:
void increase_hash_table();
void decrease_hash_table();
void insert_in_list(sos_Object _p1,sos_Object _p2,sos_Object _p3,sos_Object _p4);
sos_Offset get_no_of_pages_offset();
void set_no_of_pages_offset(sos_Offset _p1);
sos_Int get_ht_offset();
void set_ht_offset(sos_Int _p1);
protected:
sos_Bool get_role1_based_on_equal();
void set_role1_based_on_equal(sos_Bool _p1);
sos_Bool get_role2_based_on_equal();
void set_role2_based_on_equal(sos_Bool _p1);
public:
sos_Type type();
sos_Bool like(sos_Object _p1);
};
#define _sos_Object_sos_Object_Mapping_type sos_Id::make(sos_Container::make(3690836),83612)
#define sos_Object_sos_Object_Mapping_type sos_type_object(_sos_Object_sos_Object_Mapping_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Object_sos_Int_Association: public sos_Root_class
{ friend class _sos_Object_sos_Object_Association;
class _sos_Object_sos_Object_Association* _ref;
public:
operator sos_Object ();
operator sos_Aggregate ();
operator sos_Object_sos_Object_Association ();
static sos_Object_sos_Int_Association make(sos_Typed_id&);
static sos_Object_sos_Int_Association make(sos_Typed_id&p,_sos_Object_sos_Object_Association*r){
sos_Object_sos_Int_Association o; o._tpid = p; o._ref=r; return o;}
static sos_Object_sos_Int_Association make(sos_Root_class&);
sos_Offset _size();
static sos_Object_sos_Int_Association create(sos_Container,sos_Bool role1_based_on_equal = FALSE,sos_Bool role2_based_on_equal = FALSE);
static sos_Object_sos_Int_Association copy(sos_Object_sos_Int_Association,sos_Container);
static sos_Object_sos_Int_Association clone(sos_Object_sos_Int_Association,sos_Container);
void destroy();
sos_Int hash_value();
sos_Bool is_role2(sos_Int _p1);
sos_Object get_role1(sos_Cursor _p1);
sos_Int get_role2(sos_Cursor _p1);
sos_Bool is_empty();
sos_Int card();
sos_Cursor open_cursor(sos_Container _p1 = TEMP_CONTAINER);
void close_cursor(sos_Cursor _p1);
sos_Cursor duplicate(sos_Cursor _p1);
sos_Bool is_valid(sos_Cursor _p1);
void remove_at(sos_Cursor _p1);
sos_Bool to_first(sos_Cursor _p1);
sos_Bool to_last(sos_Cursor _p1);
sos_Bool to_pred(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Bool is_role1(sos_Object _p1);
void clear();
sos_Bool to_succ(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Type type();
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
};
#define _sos_Object_sos_Int_Association_type sos_Id::make(sos_Container::make(3690836),134144)
#define sos_Object_sos_Int_Association_type sos_type_object(_sos_Object_sos_Int_Association_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Object_sos_Int_Mapping: public sos_Root_class
{ friend class _sos_Object_sos_Object_Mapping;
class _sos_Object_sos_Object_Mapping* _ref;
public:
operator sos_Object ();
operator sos_Aggregate ();
operator sos_Object_sos_Int_Association ();
operator sos_Object_sos_Object_Association ();
operator sos_Object_sos_Object_Mapping ();
static sos_Object_sos_Int_Mapping make(sos_Typed_id&);
static sos_Object_sos_Int_Mapping make(sos_Typed_id&p,_sos_Object_sos_Object_Mapping*r){
sos_Object_sos_Int_Mapping o; o._tpid = p; o._ref=r; return o;}
static sos_Object_sos_Int_Mapping make(sos_Root_class&);
sos_Offset _size();
static sos_Object_sos_Int_Mapping create(sos_Container,sos_Bool list_cursor = FALSE,sos_Bool key_based_on_equal = FALSE,sos_Bool info_based_on_equal = FALSE);
static sos_Object_sos_Int_Mapping copy(sos_Object_sos_Int_Mapping,sos_Container);
static sos_Object_sos_Int_Mapping clone(sos_Object_sos_Int_Mapping,sos_Container);
void destroy();
sos_Int hash_value();
sos_Int operator[](sos_Object _p1);
sos_Int get_info(sos_Cursor _p1);
void set_info(sos_Cursor _p1,sos_Int _p2);
sos_Bool is_role2(sos_Int _p1);
sos_Int card();
sos_Cursor open_cursor(sos_Container _p1 = TEMP_CONTAINER);
void close_cursor(sos_Cursor _p1);
sos_Cursor duplicate(sos_Cursor _p1);
sos_Bool to_last(sos_Cursor _p1);
sos_Bool to_pred(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Bool is_empty();
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Bool is_info(sos_Int _p1);
void clear();
void insert_after(sos_Cursor _p1,sos_Object _p2,sos_Int _p3);
sos_Object get_role1(sos_Cursor _p1);
sos_Int get_role2(sos_Cursor _p1);
void remove_at(sos_Cursor _p1);
sos_Bool is_valid(sos_Cursor _p1);
sos_Bool to_first(sos_Cursor _p1);
sos_Bool has_type(sos_Type _p1);
sos_Bool is_key(sos_Object _p1);
void remove(sos_Object _p1);
sos_Object get_key(sos_Cursor _p1);
void move_cursor(sos_Cursor _p1,sos_Object _p2);
sos_Bool is_role1(sos_Object _p1);
sos_Bool to_succ(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Bool identical(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
void insert(sos_Object _p1,sos_Int _p2);
void insert_before(sos_Cursor _p1,sos_Object _p2,sos_Int _p3);
sos_Int size();
sos_Type type();
sos_Bool like(sos_Object _p1);
};
#define _sos_Object_sos_Int_Mapping_type sos_Id::make(sos_Container::make(3690836),133748)
#define sos_Object_sos_Int_Mapping_type sos_type_object(_sos_Object_sos_Int_Mapping_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Object_Bag: public sos_Root_class
{ friend class _sos_Object_Bag;
class _sos_Object_Bag* _ref;
public:
operator sos_Object ();
operator sos_Aggregate ();
operator sos_Object_Collection ();
static sos_Object_Bag make(sos_Typed_id&);
static sos_Object_Bag make(sos_Typed_id&p,_sos_Object_Bag*r){
sos_Object_Bag o; o._tpid = p; o._ref=r; return o;}
static sos_Object_Bag make(sos_Root_class&);
sos_Offset _size();
static sos_Object_Bag create(sos_Container,sos_Bool list_cursor = TRUE,sos_Bool based_on_equal = FALSE);
static sos_Object_Bag copy(sos_Object_Bag,sos_Container);
static sos_Object_Bag clone(sos_Object_Bag,sos_Container);
void destroy();
sos_Int hash_value();
void operator+=(sos_Object_Bag _p1);
void operator-=(sos_Object_Bag _p1);
void operator*=(sos_Object_Bag _p1);
sos_Bool operator<(sos_Object_Bag _p1);
sos_Bool operator<=(sos_Object_Bag _p1);
sos_Bool operator>(sos_Object_Bag _p1);
sos_Bool operator>=(sos_Object_Bag _p1);
void max_union(sos_Object_Bag _p1);
sos_Int entity_occurs(sos_Cursor _p1);
sos_Bool to_diff_succ(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Bool is_element(sos_Object _p1);
sos_Object get(sos_Cursor _p1);
sos_Int card();
sos_Cursor open_cursor(sos_Container _p1 = TEMP_CONTAINER);
void close_cursor(sos_Cursor _p1);
sos_Cursor duplicate(sos_Cursor _p1);
sos_Bool to_last(sos_Cursor _p1);
sos_Bool to_pred(sos_Cursor _p1,sos_Int _p2 = 1);
protected:
static void local_assign(sos_Object_Bag _p1,sos_Object _p2);
static sos_Bool local_equal(sos_Object_Bag _p1,sos_Object _p2,sos_Eq_kind _p3);
public:
sos_Bool is_empty();
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Int insert(sos_Object _p1);
void eliminate(sos_Object _p1);
void clear();
private:
sos_Bool get_list_cursor();
void set_list_cursor(sos_Bool _p1);
protected:
static void local_finalize(sos_Object_Bag _p1);
sos_Bool get_based_on_equal();
void set_based_on_equal(sos_Bool _p1);
public:
sos_Type type();
sos_Int size();
sos_Bool like(sos_Object _p1);
void remove_at(sos_Cursor _p1);
sos_Bool is_valid(sos_Cursor _p1);
sos_Bool to_first(sos_Cursor _p1);
private:
void search_succ_pred(sos_Bag_node _p1,Index _p2,sos_Object& _p3,sos_Int& _p4,sos_Int& _p5);
sos_Int get_no_of_elements(sos_Object_sos_Int_Mapping _p1,sos_Object _p2);
sos_Int set_no_of_elements(sos_Object_sos_Int_Mapping _p1,sos_Object _p2,sos_Int _p3,sos_Int _p4);
public:
sos_Bool has_type(sos_Type _p1);
sos_Int remove(sos_Object _p1);
sos_Int occurrences(sos_Object _p1);
sos_Bool to_diff_pred(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Bool to_succ(sos_Cursor _p1,sos_Int _p2 = 1);
private:
void write_current(sos_Cursor _p1,sos_Object _p2,sos_Int _p3,sos_Int _p4);
sos_Int get_cardinality();
void set_cardinality(sos_Int _p1);
sos_Object_sos_Int_Mapping get_m();
void set_m(sos_Object_sos_Int_Mapping _p1);
protected:
static void local_initialize(sos_Object_Bag _p1);
static sos_Int local_hash_value(sos_Object_Bag _p1);
public:
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Bool identical(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
};
#define _sos_Object_Bag_type sos_Id::make(sos_Container::make(3690836),119172)
#define sos_Object_Bag_type sos_type_object(_sos_Object_Bag_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Object_sos_Bool_Association: public sos_Root_class
{ friend class _sos_Object_sos_Object_Association;
class _sos_Object_sos_Object_Association* _ref;
public:
operator sos_Object ();
operator sos_Aggregate ();
operator sos_Object_sos_Object_Association ();
static sos_Object_sos_Bool_Association make(sos_Typed_id&);
static sos_Object_sos_Bool_Association make(sos_Typed_id&p,_sos_Object_sos_Object_Association*r){
sos_Object_sos_Bool_Association o; o._tpid = p; o._ref=r; return o;}
static sos_Object_sos_Bool_Association make(sos_Root_class&);
sos_Offset _size();
static sos_Object_sos_Bool_Association create(sos_Container,sos_Bool role1_based_on_equal = FALSE,sos_Bool role2_based_on_equal = FALSE);
static sos_Object_sos_Bool_Association copy(sos_Object_sos_Bool_Association,sos_Container);
static sos_Object_sos_Bool_Association clone(sos_Object_sos_Bool_Association,sos_Container);
void destroy();
sos_Int hash_value();
sos_Bool is_role2(sos_Bool _p1);
sos_Object get_role1(sos_Cursor _p1);
sos_Bool get_role2(sos_Cursor _p1);
sos_Bool is_empty();
sos_Int card();
sos_Cursor open_cursor(sos_Container _p1 = TEMP_CONTAINER);
void close_cursor(sos_Cursor _p1);
sos_Cursor duplicate(sos_Cursor _p1);
sos_Bool is_valid(sos_Cursor _p1);
void remove_at(sos_Cursor _p1);
sos_Bool to_first(sos_Cursor _p1);
sos_Bool to_last(sos_Cursor _p1);
sos_Bool to_pred(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Bool is_role1(sos_Object _p1);
void clear();
sos_Bool to_succ(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Type type();
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
};
#define _sos_Object_sos_Bool_Association_type sos_Id::make(sos_Container::make(3690836),188508)
#define sos_Object_sos_Bool_Association_type sos_type_object(_sos_Object_sos_Bool_Association_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Object_sos_Bool_Mapping: public sos_Root_class
{ friend class _sos_Object_sos_Object_Mapping;
class _sos_Object_sos_Object_Mapping* _ref;
public:
operator sos_Object ();
operator sos_Aggregate ();
operator sos_Object_sos_Bool_Association ();
operator sos_Object_sos_Object_Association ();
operator sos_Object_sos_Object_Mapping ();
static sos_Object_sos_Bool_Mapping make(sos_Typed_id&);
static sos_Object_sos_Bool_Mapping make(sos_Typed_id&p,_sos_Object_sos_Object_Mapping*r){
sos_Object_sos_Bool_Mapping o; o._tpid = p; o._ref=r; return o;}
static sos_Object_sos_Bool_Mapping make(sos_Root_class&);
sos_Offset _size();
static sos_Object_sos_Bool_Mapping create(sos_Container,sos_Bool list_cursor = FALSE,sos_Bool key_based_on_equal = FALSE,sos_Bool info_based_on_equal = FALSE);
static sos_Object_sos_Bool_Mapping copy(sos_Object_sos_Bool_Mapping,sos_Container);
static sos_Object_sos_Bool_Mapping clone(sos_Object_sos_Bool_Mapping,sos_Container);
void destroy();
sos_Int hash_value();
sos_Bool operator[](sos_Object _p1);
sos_Bool get_info(sos_Cursor _p1);
void set_info(sos_Cursor _p1,sos_Bool _p2);
sos_Bool is_role2(sos_Bool _p1);
sos_Int card();
sos_Cursor open_cursor(sos_Container _p1 = TEMP_CONTAINER);
void close_cursor(sos_Cursor _p1);
sos_Cursor duplicate(sos_Cursor _p1);
sos_Bool to_last(sos_Cursor _p1);
sos_Bool to_pred(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Bool is_empty();
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Bool is_info(sos_Bool _p1);
void clear();
void insert_after(sos_Cursor _p1,sos_Object _p2,sos_Bool _p3);
sos_Object get_role1(sos_Cursor _p1);
sos_Bool get_role2(sos_Cursor _p1);
void remove_at(sos_Cursor _p1);
sos_Bool is_valid(sos_Cursor _p1);
sos_Bool to_first(sos_Cursor _p1);
sos_Bool has_type(sos_Type _p1);
sos_Bool is_key(sos_Object _p1);
void remove(sos_Object _p1);
sos_Object get_key(sos_Cursor _p1);
void move_cursor(sos_Cursor _p1,sos_Object _p2);
sos_Bool is_role1(sos_Object _p1);
sos_Bool to_succ(sos_Cursor _p1,sos_Int _p2 = 1);
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Bool identical(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
void insert(sos_Object _p1,sos_Bool _p2);
void insert_before(sos_Cursor _p1,sos_Object _p2,sos_Bool _p3);
sos_Int size();
sos_Type type();
sos_Bool like(sos_Object _p1);
};
#define _sos_Object_sos_Bool_Mapping_type sos_Id::make(sos_Container::make(3690836),188120)
#define sos_Object_sos_Bool_Mapping_type sos_type_object(_sos_Object_sos_Bool_Mapping_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Object_Set: public sos_Root_class
{ friend class _sos_Object_Set;
class _sos_Object_Set* _ref;
public:
operator sos_Object ();
operator sos_Aggregate ();
operator sos_Object_Collection ();
static sos_Object_Set make(sos_Typed_id&);
static sos_Object_Set make(sos_Typed_id&p,_sos_Object_Set*r){
sos_Object_Set o; o._tpid = p; o._ref=r; return o;}
static sos_Object_Set make(sos_Root_class&);
sos_Offset _size();
static sos_Object_Set create(sos_Container,sos_Bool list_cursor = TRUE,sos_Bool based_on_equal = FALSE);
static sos_Object_Set copy(sos_Object_Set,sos_Container);
static sos_Object_Set clone(sos_Object_Set,sos_Container);
void destroy();
sos_Int hash_value();
void operator+=(sos_Object_Set _p1);
void operator-=(sos_Object_Set _p1);
void operator*=(sos_Object_Set _p1);
sos_Bool operator<(sos_Object_Set _p1);
sos_Bool operator<=(sos_Object_Set _p1);
sos_Bool operator>(sos_Object_Set _p1);
sos_Bool operator>=(sos_Object_Set _p1);
sos_Bool is_element(sos_Object _p1);
sos_Object get(sos_Cursor _p1);
void remove_at(sos_Cursor _p1);
sos_Int card();
sos_Cursor open_cursor(sos_Container _p1 = TEMP_CONTAINER);
void close_cursor(sos_Cursor _p1);
sos_Cursor duplicate(sos_Cursor _p1);
sos_Bool is_valid(sos_Cursor _p1);
sos_Bool to_first(sos_Cursor _p1);
sos_Bool to_last(sos_Cursor _p1);
sos_Bool to_pred(sos_Cursor _p1,sos_Int _p2 = 1);
protected:
static void local_assign(sos_Object_Set _p1,sos_Object _p2);
static sos_Bool local_equal(sos_Object_Set _p1,sos_Object _p2,sos_Eq_kind _p3);
public:
sos_Bool is_empty();
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
void insert(sos_Object _p1);
void remove(sos_Object _p1);
void clear();
sos_Bool to_succ(sos_Cursor _p1,sos_Int _p2 = 1);
private:
sos_Bool get_list_cursor();
void set_list_cursor(sos_Bool _p1);
sos_Object_sos_Bool_Mapping get_m();
void set_m(sos_Object_sos_Bool_Mapping _p1);
protected:
static void local_initialize(sos_Object_Set _p1);
static void local_finalize(sos_Object_Set _p1);
static sos_Int local_hash_value(sos_Object_Set _p1);
sos_Bool get_based_on_equal();
void set_based_on_equal(sos_Bool _p1);
public:
sos_Type type();
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
};
#define _sos_Object_Set_type sos_Id::make(sos_Container::make(3690836),175400)
#define sos_Object_Set_type sos_type_object(_sos_Object_Set_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Node: public sos_Root_class
{ friend class _sos_Node;
class _sos_Node* _ref;
public:
operator sos_Object ();
static sos_Node make(sos_Typed_id&);
static sos_Node make(sos_Typed_id&p,_sos_Node*r){
sos_Node o; o._tpid = p; o._ref=r; return o;}
static sos_Node make(sos_Root_class&);
sos_Offset _size();
static sos_Node create(sos_Container);
static sos_Node copy(sos_Node,sos_Container);
static sos_Node clone(sos_Node,sos_Container);
void destroy();
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Int hash_value();
sos_Type type();
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
protected:
static void local_assign(sos_Node x,sos_Node y);
static sos_Bool local_equal(sos_Node x,sos_Node y,sos_Eq_kind eq_kind = EQ_STRONG);
static sos_Int local_hash_value(sos_Node x);
};
#define _sos_Node_type sos_Id::make(sos_Container::make(3690836),224068)
#define sos_Node_type sos_type_object(_sos_Node_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Array_node: public sos_Root_class
{ friend class _sos_Array_node;
class _sos_Array_node* _ref;
public:
operator sos_Object ();
operator sos_Node ();
friend class _sos_Object_Array;
static sos_Array_node make(sos_Typed_id&);
static sos_Array_node make(sos_Typed_id&p,_sos_Array_node*r){
sos_Array_node o; o._tpid = p; o._ref=r; return o;}
static sos_Array_node make(sos_Root_class&);
sos_Offset _size();
static sos_Array_node create(sos_Container);
static sos_Array_node copy(sos_Array_node,sos_Container);
static sos_Array_node clone(sos_Array_node,sos_Container);
void destroy();
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Int hash_value();
private:
Index get_index();
void set_index(Index _p1);
public:
sos_Type type();
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
protected:
static void local_assign(sos_Array_node x,sos_Array_node y);
static sos_Bool local_equal(sos_Array_node x,sos_Array_node y,sos_Eq_kind eq_kind = EQ_STRONG);
static sos_Int local_hash_value(sos_Array_node x);
};
#define _sos_Array_node_type sos_Id::make(sos_Container::make(3690836),229992)
#define sos_Array_node_type sos_type_object(_sos_Array_node_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_List_node: public sos_Root_class
{ friend class _sos_List_node;
class _sos_List_node* _ref;
public:
operator sos_Object ();
operator sos_Node ();
friend class _sos_Object_List;
static sos_List_node make(sos_Typed_id&);
static sos_List_node make(sos_Typed_id&p,_sos_List_node*r){
sos_List_node o; o._tpid = p; o._ref=r; return o;}
static sos_List_node make(sos_Root_class&);
sos_Offset _size();
static sos_List_node create(sos_Container);
static sos_List_node copy(sos_List_node,sos_Container);
static sos_List_node clone(sos_List_node,sos_Container);
void destroy();
sos_Int hash_value();
private:
void insert_after(sos_List_node _p1);
sos_List_node pred(sos_Int steps = 1);
sos_List_node get_succ();
void set_succ(sos_List_node _p1);
public:
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
protected:
static void local_assign(sos_List_node x,sos_List_node y);
static sos_Bool local_equal(sos_List_node x,sos_List_node y,sos_Eq_kind eq_kind = EQ_STRONG);
public:
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
private:
void insert_before(sos_List_node _p1);
void remove();
sos_List_node succ(sos_Int steps = 1);
sos_List_node get_pred();
void set_pred(sos_List_node _p1);
sos_Object get_val();
void set_val(sos_Object _p1);
public:
sos_Type type();
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
protected:
static sos_Int local_hash_value(sos_List_node x);
};
#define _sos_List_node_type sos_Id::make(sos_Container::make(3690836),236988)
#define sos_List_node_type sos_type_object(_sos_List_node_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Map_node: public sos_Root_class
{ friend class _sos_Map_node;
class _sos_Map_node* _ref;
public:
operator sos_Object ();
operator sos_Node ();
friend class _sos_Object_sos_Object_Mapping;
static sos_Map_node make(sos_Typed_id&);
static sos_Map_node make(sos_Typed_id&p,_sos_Map_node*r){
sos_Map_node o; o._tpid = p; o._ref=r; return o;}
static sos_Map_node make(sos_Root_class&);
sos_Offset _size();
static sos_Map_node create(sos_Container);
static sos_Map_node copy(sos_Map_node,sos_Container);
static sos_Map_node clone(sos_Map_node,sos_Container);
void destroy();
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Int hash_value();
protected:
sos_Object get_key_val();
void set_key_val(sos_Object _p1);
public:
sos_Type type();
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
protected:
static void local_assign(sos_Map_node x,sos_Map_node y);
static sos_Bool local_equal(sos_Map_node x,sos_Map_node y,sos_Eq_kind eq_kind = EQ_STRONG);
static sos_Int local_hash_value(sos_Map_node x);
};
#define _sos_Map_node_type sos_Id::make(sos_Container::make(3690836),247808)
#define sos_Map_node_type sos_type_object(_sos_Map_node_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Bag_node: public sos_Root_class
{ friend class _sos_Bag_node;
class _sos_Bag_node* _ref;
public:
operator sos_Object ();
operator sos_Node ();
operator sos_Map_node ();
friend class _sos_Object_Bag;
static sos_Bag_node make(sos_Typed_id&);
static sos_Bag_node make(sos_Typed_id&p,_sos_Bag_node*r){
sos_Bag_node o; o._tpid = p; o._ref=r; return o;}
static sos_Bag_node make(sos_Root_class&);
sos_Offset _size();
static sos_Bag_node create(sos_Container);
static sos_Bag_node copy(sos_Bag_node,sos_Container);
static sos_Bag_node clone(sos_Bag_node,sos_Container);
void destroy();
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Int hash_value();
private:
sos_Int get_tag_no();
void set_tag_no(sos_Int _p1);
sos_Int get_tag_max();
void set_tag_max(sos_Int _p1);
protected:
sos_Object get_key_val();
void set_key_val(sos_Object _p1);
public:
sos_Type type();
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
protected:
static void local_assign(sos_Bag_node x,sos_Bag_node y);
static sos_Bool local_equal(sos_Bag_node x,sos_Bag_node y,sos_Eq_kind eq_kind = EQ_STRONG);
static sos_Int local_hash_value(sos_Bag_node x);
};
#define _sos_Bag_node_type sos_Id::make(sos_Container::make(3690836),254708)
#define sos_Bag_node_type sos_type_object(_sos_Bag_node_type,sos_Id::make(sos_Container::make(279048),529560))
#endif